In network data collection systems, such as telecommunications data collection systems, signaling messages of interest are filtered and distributed to external applications, such as billing applications, fraud detection applications, etc., for further processing. Many of these applications require common information from received signaling messages. However, conventional network data collection systems require a separate message or call detail record (CDR) feed for each application from the data collection location, across the service provider's network, to the data processing location, even when parameters or messages required by various applications are common. Sending duplicates of message parameters in different feeds for different applications wastes bandwidth in the network in which the network data collection system operates. In some instances, this network is the same network used to provide internal communications services, such as corporate intranet services and email. Accordingly, this wasting of bandwidth can adversely affect communications in a telecommunications service provider's internal network.
Another problem related to network data collection is defining and distributing data collection filters to the machines that actually filter the messages. In conventional network data collection systems, filter definition is static, meaning that new filter criteria for a given application must be created by a skilled programmer, compiled, and downloaded to the individual filtering elements. Network data collection service is disrupted in order for the new filter criteria to be installed. For billing applications, disrupting network data collection service can be costly for a service provider. In addition, if the newly compiled filter criteria do not work properly the first time, the process of modifying the source code, recompiling the code, and downloading the compiled code to the filter elements must be repeated. This process further increases the cost of making changes to filter criteria.
Yet another problem associated with conventional network data collection systems is defining filtering rule sets. Defining filtering rule sets at the message or parameter level can be tedious in light of the number of different kinds of messages required by a given application and the number of parameters in each message type. Thus, manually creating rule sets at the message or parameter level is labor intensive and subject to human error.
Accordingly, in light of these difficulties associated with conventional network data collection systems, there exists a long felt need for improved methods and systems for defining and distributing network data collection rule sets and for filtering messages using the rule sets.